﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.CodeAnalysis; 

namespace Admin.NET.Application.Entity;

/// <summary>
/// 景点实体类
/// </summary>
[SugarTable("base_scene", "景点实体类")]
public class SceneEntity : EntityBase
{
    /// <summary>
    /// 景点名称。
    /// </summary>
    [SugarColumn(ColumnDescription = "景点名称", Length = 100, IsNullable = false)]
    public string Name { get; set; }

    /// <summary>
    /// 景点所在省份。
    /// </summary>
    [SugarColumn(ColumnDescription = "省份", Length = 50, IsNullable = false)]
    public string Province { get; set; }

    /// <summary>
    /// 景点所在城市。
    /// </summary>
    [SugarColumn(ColumnDescription = "城市", Length = 50, IsNullable = false)]
    public string City { get; set; }

    /// <summary>
    /// 地理坐标
    /// </summary>
    [SugarColumn(ColumnDescription = "地理坐标", Length = 32, IsNullable = false)]
    public string Position { get; set; }
    /// <summary>
    /// 详细地址。
    /// </summary>
    [SugarColumn(ColumnDescription = "详细地址", Length = 200, IsNullable = false)]
    public string Address { get; set; }

    /// <summary>
    /// 景点简介。
    /// </summary>
    [SugarColumn(ColumnDescription = "景点简介", Length = 500, IsNullable = true)]
    public string Description { get; set; }
    /// <summary>
    /// 网页描述信息。
    /// </summary> 
    [SugarColumn(ColumnDescription = "网页描述", Length = 2000, IsNullable = true)]
    public string HtmlContent { get; set; }

    /// <summary>
    /// 景点分类，例如“自然风光”、“人文历史”、“主题公园”等。
    /// </summary>
    [SugarColumn(ColumnDescription = "景点分类", Length = 50, IsNullable = false)]
    public string Category { get; set; }

    /// <summary>
    /// 开放时间，例如“08:00-18:00”。
    /// </summary>
    [SugarColumn(ColumnDescription = "开放时间", Length = 50, IsNullable = true)]
    public string OpenHours { get; set; }

    /// <summary>
    /// 门票价格。
    /// </summary>
    [SugarColumn(ColumnDescription = "门票价格", IsNullable = true)]
    public decimal? Price { get; set; }

    /// <summary>
    /// 评分（如 4.5 分）。
    /// </summary>
    [SugarColumn(ColumnDescription = "评分（0-5）", IsNullable = false)]
    public decimal Rating { get; set; } = 0;


    /// <summary>
    /// 标签集合的 JSON 字符串，用于数据库存储。
    /// </summary>
    [SugarColumn(ColumnDescription = "标签集合", IsNullable = true, Length = 500)]
    public string TagsJson { get; set; }

    /// <summary>
    /// 游览人数。
    /// </summary>
    [SugarColumn(ColumnDescription = "游览人数", IsNullable = true )]
    public int? Visitors { get; set; }

    /// <summary>
    /// 景点图片地址（URL）。
    /// </summary>
    [SugarColumn(ColumnDescription = "图片地址", Length = 2000, IsNullable = true)]
    public string ImageUrls { get; set; }
    /// <summary>
    /// 浏览量
    /// </summary>
    [SugarColumn(ColumnDescription = "浏览量", IsNullable = true)]
    public int? ViewCount { get; set; }
    /// <summary>
    /// 联系人联系电话集合
    /// </summary>
    [SugarColumn(ColumnDescription = "联系人联系电话集合", Length = 200, IsNullable = true)]
    public string PhoneNumbers { get; set; }

}
